$(document).ready(function() {
    document.getElementById('page_center').scrollIntoView();
    
    $( "#data_inicio" ).datepicker({ dateFormat: 'dd/mm/yy'});
    $( "#data_fim" ).datepicker({ dateFormat: 'dd/mm/yy'});
    $( "#data_inicio" ).focus();
    
});

function checar_datas() {
	var inicio = $("#data_inicio").val();
	var fim = $("#data_fim").val();
	
	regex = /^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$/
	
	if (!regex.test(inicio) || !regex.test(fim)) {
		aviso_popup('Valores incorretos. Clique no campo para inserir uma data válida.');
		return false;
	}
	
	return true;
}

function checar_decisao() {
	if ($('input:radio[name=recebido]:checked').val() == 0) {
		// mostra campo data
		$('input:text[name=data]').show("slide", {direction: "right"}, "slow", function() {
			$('#datepicker').focus();
		});
	} else {
		// esconde campo data
		$('input:text[name=data]').hide("slide", {direction: "right"}, "slow");
	}
}

function checar_ambos() {
	return checar_cheque() && checar_crediario();
}

function checar_cheque() {
	if ($(':input').length != 0) {
		
		var valor = $("input[name=cheque]").val();
        var vencimento = $("input[name=data]").val();
        
        regex = /^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$/
        
        if (vencimento != "" && !regex.test(vencimento) ) {
            valor_incorreto("Configure todos os parâmetros corretamente.");
            return false;
        } else {
            // Tá tudo ok. Vamos gerar as parcelas
            
            var pedido_id = $("input[name=pedido_id]").val();
            var cliente_id = $("input[name=cliente_id]").val();
            var recebido = $('input:radio[name=recebido]:checked').val();
            var csrf_token = getCookie('csrftoken');
            
            $.ajax(
                {
                    type: "POST",
                    url: "/financeiro/cheque/",
                    data: {
                        pedido_id: pedido_id,
                        cliente_id: cliente_id,
                        vencimento: vencimento,
                        valor_total: valor,
                        recebido: recebido,
                        csrfmiddlewaretoken: csrf_token
                    },
                    async: false,
                    success: function(retorno) {
                        if (retorno.saida) {
                            valor_incorreto("Cheque(s) gravado(s).");
                        }
                    },
                    statusCode: {
                        404: function() {
                            alert('Pagina não encontrada');
                            return false;
                        },
                        408: function() {
                            alert('Não responde');
                            return false;
                        }
                    }
                }
            );
            //alert(this);
            return true;
        }
		
	} else {
		// alert('Não há cheque');
        return true;		
	}
	return false;
}

function checar_crediario() {
    if ($(':input').length != 0) {
        
        var valor = $("input[name=crediario]").val();
        var parcelas = $("select[name=parcelas]").val();
        var vencimento = $("select[name=vencimento]").val();
        
        if (valor == 0 || parcelas == 0 || vencimento == 0) {
            valor_incorreto("Configure todos os parâmetros corretamente.");
            return false;
        } else {
            // Tá tudo ok. Vamos gerar as parcelas
            
            var pedido_id = $("input[name=pedido_id]").val();
            var cliente_id = $("input[name=cliente_id]").val();
            var csrf_token = getCookie('csrftoken');
            
            $.ajax(
                {
                    type: "POST",
                    url: "/financeiro/parcelar/",
                    data: {
                        pedido_id: pedido_id,
                        cliente_id: cliente_id,
                        parcelas: parcelas,
                        vencimento: vencimento,
                        valor_total: valor,
                        
                        csrfmiddlewaretoken: csrf_token
                    },
                    async: false,
                    success: function(retorno) {
                        if (retorno.saida) {
                            valor_incorreto("Parcelamento criado.");
                        }
                    },
                    statusCode: {
                        404: function() {
                            alert('Pagina não encontrada');
                            return false;
                        },
                        408: function() {
                            alert('Não responde');
                            return false;
                        }
                    }
                }
            );
            //alert(this);
            return true;
        }
    } else {
        // alert('Não há parcelamento');
        return true;
    }
}

//function ir_para_valor() {
//    $('form input[name="valor"]').focus().focus();
//    $('form input[name="valor"]').focus().select();
//}
//
//function valor_incorreto(mensagem, delay = 2500) {
//    $("#valor_incorreto").text(mensagem);
//    $("#valor_incorreto").stop(false, true).fadeIn("slow", function() {
//        ir_para_valor();
//        $(this).delay(delay).slideUp("slow", function() {
//            $(this).text('');
//        });
//    });
//}
//
//function checar_valor() {
//    var valor = $("input[name=valor]").val();
//    
//    //regex = /(^([1-9]+\d*([.,]\d{1,3})?)|(^(0?[.,]\d{1,3})))$/;
//    regex = /^\d+([,.]\d{2})?$/;
//    
//    if (!regex.test(valor) || valor <= 0) {
//        $("#valor_incorreto").text('Valor incorreto. Forneça um valor real');
//        $("#valor_incorreto").stop(true).fadeIn("slow", function() {
//            ir_para_valor();
//            $(this).delay(2500).slideUp("slow", function() {
//                $(this).text('');
//            });
//        });
//        return false;
//    } else {
//        $("#valor_incorreto").text('');
//        return true
//    }
//    
//}
